load("@fbcode_macros//build_defs:rust_library.bzl", "rust_library")
load("@fbsource//tools/build_defs:glob_defs.bzl", "glob")

oncall("buck2")

rust_library(
    name = "buck2_execute_impl",
    srcs = glob(
        ["src/**/*.rs"],
    ),
    test_deps = [
        "fbsource//third-party/rust:assert_matches",
    ],
    deps = [
        "fbsource//third-party/rust:anyhow",
        "fbsource//third-party/rust:async-condvar-fair",
        "fbsource//third-party/rust:async-trait",
        "fbsource//third-party/rust:chrono",
        "fbsource//third-party/rust:derivative",
        "fbsource//third-party/rust:derive_more",
        "fbsource//third-party/rust:futures",
        "fbsource//third-party/rust:hostname",
        "fbsource//third-party/rust:indexmap",
        "fbsource//third-party/rust:itertools",
        "fbsource//third-party/rust:once_cell",
        "fbsource//third-party/rust:parking_lot",
        "fbsource//third-party/rust:pin-project",
        "fbsource//third-party/rust:prost",
        "fbsource//third-party/rust:rusqlite",
        "fbsource//third-party/rust:thiserror",
        "fbsource//third-party/rust:tokio",
        "fbsource//third-party/rust:tokio-stream",
        "fbsource//third-party/rust:tonic",
        "fbsource//third-party/rust:tracing",
        "fbsource//third-party/rust:zstd",
        "//buck2/allocative/allocative:allocative",
        "//buck2/app/buck2_action_metadata_proto:buck2_action_metadata_proto",
        "//buck2/app/buck2_cli_proto:buck2_cli_proto",
        "//buck2/app/buck2_common:buck2_common",
        "//buck2/app/buck2_core:buck2_core",
        "//buck2/app/buck2_data:buck2_data",
        "//buck2/app/buck2_events:buck2_events",
        "//buck2/app/buck2_execute:buck2_execute",
        "//buck2/app/buck2_forkserver:buck2_forkserver",
        "//buck2/app/buck2_forkserver_proto:buck2_forkserver_proto",
        "//buck2/app/buck2_util:buck2_util",
        "//buck2/app/buck2_worker_proto:buck2_worker_proto",
        "//buck2/app/buck2_wrapper_common:buck2_wrapper_common",
        "//buck2/gazebo/dupe:dupe",
        "//buck2/gazebo/gazebo:gazebo",
        "//buck2/host_sharing:host_sharing",
        "//buck2/remote_execution:remote_execution",
        "//buck2/shed/more_futures:more_futures",
    ],
)
